using System.Collections.Generic;
using System.Text.Json.Serialization;
using JlPay.Sdk.Models;
using JlPay.Sdk.Core;

namespace JlPay.Sdk.Models.Openmerch.Query
{
    /// <summary>
    /// 商户主结算卡查询响应
    /// </summary>
    public class MerchMasterSettCardQueryResponse : StandardResponse, ISensitiveFieldsProvider
    {
        /// <summary>
        /// 商户号
        /// </summary>
        [JsonPropertyName("merch_no")]
        public string? MerchNo { get; set; }

        /// <summary>
        /// 商户名称
        /// </summary>
        [JsonPropertyName("merch_name")]
        public string? MerchName { get; set; }

        /// <summary>
        /// 结算类型
        /// </summary>
        [JsonPropertyName("settle_type")]
        public string? SettleType { get; set; }

        /// <summary>
        /// 账户名称
        /// </summary>
        [JsonPropertyName("account_name")]
        public string? AccountName { get; set; }

        /// <summary>
        /// 账户号码
        /// </summary>
        [JsonPropertyName("account_no")]
        public string? AccountNo { get; set; }

        /// <summary>
        /// 银行代码
        /// </summary>
        [JsonPropertyName("bank_code")]
        public string? BankCode { get; set; }

        /// <summary>
        /// 银行支行ID
        /// </summary>
        [JsonPropertyName("bank_branch_id")]
        public string? BankBranchId { get; set; }

        /// <summary>
        /// 银行支行名称
        /// </summary>
        [JsonPropertyName("bank_branch_name")]
        public string? BankBranchName { get; set; }

        /// <summary>
        /// 获取敏感字段列表
        /// </summary>
        /// <returns>敏感字段列表</returns>
        public List<string> GetSensitiveFields()
        {
            return new List<string>
            {
                "account_name",  // 户名
                "account_no",    // 账号
            };
        }
    }
} 